uint16_t csum(uint16_t* addr, int len)
{// addr = 0x08049C09
    int nleft;
    uint32_t sum;
    uint16_t* w;
    uint16_t answer;
    short unsigned int* _v8;
    short _v12;
    int _v16;
    short _v18;
    _unknown_ r6;

    _v16 = len;
    _v12 = 0;
    _v8 = addr;
    _v18 = 0;
    while(_v16 > 1) {
        _v12 = _v12 + ( *_v8 & 65535 & 65535);
        _v8 =  &(_v8[1]);
        _v16 = _v16 - 2;
    }
}